Currently, techniques exist for enabling local resources to be accessed from a remote session. These techniques include USB redirection and driver mapping among others. As an example, USB redirection can be employed to allow a printer that is connected directly to a client terminal to be accessed from the remote session. In such cases, the client terminal will need to load a partial USB device stack to properly handle USB communications that are redirected from the remote session to the client terminal.
Although these techniques work, they have various limitations. For example, it will be necessary for the client to include components that know how to handle communications targeting the local resource (e.g., the partial USB device stack in the case of a USB printer). This results in the client terminal, which may oftentimes be a thin client, being more complex (or less thin). Additionally, these techniques are only available for devices that are connected directly to the client terminal—i.e., any network-accessible device or resource will remain inaccessible from the remote session.